By chromatin state

TssA (1)

chromhmm.state <- "TssA"

chromhmm.snps.df <- chromhmm.cpg.state.lst.df$`1_TssA`
chromhmm.snps.df <- left_join(chromhmm.snps.df, epigenome.blood.map.df[, .(EID, Salas)], by = c(eid = "EID"))

blood.cell.types.of.interest <- chromhmm.snps.df$Salas %>%
    unique()
blood.cell.types.of.interest <- blood.cell.types.of.interest[blood.cell.types.of.interest %in% cell.types.of.interest]

ggvenn.lst <- lapply(blood.cell.types.of.interest, GetVennDiagram, chromhmm.snps.df = chromhmm.snps.df,
    dex.blood.types.snps.df = dex.blood.types.cpgs.df, veh.blood.types.snps.df = veh.blood.types.cpgs.df,
    chromhmm.state = chromhmm.state)

grid.arrange(arrangeGrob(ggvenn.lst[[1]], ggvenn.lst[[2]], ncol = 2))

TssAFlnk (2)

chromhmm.state <- "TssAFlnk"

chromhmm.snps.df <- chromhmm.cpg.state.lst.df$`2_TssAFlnk`
chromhmm.snps.df <- left_join(chromhmm.snps.df, epigenome.blood.map.df[, .(EID, Salas)], by = c(eid = "EID"))

blood.cell.types.of.interest <- chromhmm.snps.df$Salas %>%
    unique()
blood.cell.types.of.interest <- blood.cell.types.of.interest[blood.cell.types.of.interest %in% cell.types.of.interest]

ggvenn.lst <- lapply(blood.cell.types.of.interest, GetVennDiagram, chromhmm.snps.df = chromhmm.snps.df,
    dex.blood.types.snps.df = dex.blood.types.cpgs.df, veh.blood.types.snps.df = veh.blood.types.cpgs.df,
    chromhmm.state = chromhmm.state)

ggvenn.lst[[1]]

TxWk (5)

chromhmm.state <- "TxWk"

chromhmm.snps.df <- chromhmm.cpg.state.lst.df$`5_TxWk`
chromhmm.snps.df <- left_join(chromhmm.snps.df, epigenome.blood.map.df[, .(EID, Salas)], by = c(eid = "EID"))

blood.cell.types.of.interest <- chromhmm.snps.df$Salas %>%
    unique()
blood.cell.types.of.interest <- blood.cell.types.of.interest[blood.cell.types.of.interest %in% cell.types.of.interest]

ggvenn.lst <- lapply(blood.cell.types.of.interest, GetVennDiagram, chromhmm.snps.df = chromhmm.snps.df,
    dex.blood.types.snps.df = dex.blood.types.cpgs.df, veh.blood.types.snps.df = veh.blood.types.cpgs.df,
    chromhmm.state = chromhmm.state)

grid.arrange(arrangeGrob(ggvenn.lst[[1]], ggvenn.lst[[2]], ncol = 2))

grid.arrange(arrangeGrob(ggvenn.lst[[3]], ggvenn.lst[[4]], ncol = 2))

EnhG (6)

chromhmm.state <- "EnhG"

chromhmm.snps.df <- chromhmm.cpg.state.lst.df$`6_EnhG`
chromhmm.snps.df <- left_join(chromhmm.snps.df, epigenome.blood.map.df[, .(EID, Salas)], by = c(eid = "EID"))

blood.cell.types.of.interest <- chromhmm.snps.df$Salas %>%
    unique()
blood.cell.types.of.interest <- blood.cell.types.of.interest[blood.cell.types.of.interest %in% cell.types.of.interest]

ggvenn.lst <- lapply(blood.cell.types.of.interest, GetVennDiagram, chromhmm.snps.df = chromhmm.snps.df,
    dex.blood.types.snps.df = dex.blood.types.cpgs.df, veh.blood.types.snps.df = veh.blood.types.cpgs.df,
    chromhmm.state = chromhmm.state)

grid.arrange(arrangeGrob(ggvenn.lst[[1]], ggvenn.lst[[2]], ncol = 2))

grid.arrange(arrangeGrob(ggvenn.lst[[3]], ggvenn.lst[[4]], ncol = 2))

grid.arrange(arrangeGrob(ggvenn.lst[[5]], ncol = 1))

Enh (7)

chromhmm.state <- "Enhancer"

chromhmm.snps.df <- chromhmm.cpg.state.lst.df$`7_Enh`
chromhmm.snps.df <- left_join(chromhmm.snps.df, epigenome.blood.map.df[, .(EID, Salas)], by = c(eid = "EID"))

blood.cell.types.of.interest <- chromhmm.snps.df$Salas %>%
    unique()
blood.cell.types.of.interest <- blood.cell.types.of.interest[blood.cell.types.of.interest %in% cell.types.of.interest]

ggvenn.lst <- lapply(blood.cell.types.of.interest, GetVennDiagram, chromhmm.snps.df = chromhmm.snps.df,
    dex.blood.types.snps.df = dex.blood.types.cpgs.df, veh.blood.types.snps.df = veh.blood.types.cpgs.df,
    chromhmm.state = chromhmm.state)

grid.arrange(arrangeGrob(ggvenn.lst[[1]], ggvenn.lst[[2]], ncol = 2))

grid.arrange(arrangeGrob(ggvenn.lst[[3]], ggvenn.lst[[4]], ncol = 2))

grid.arrange(arrangeGrob(ggvenn.lst[[5]], ncol = 1))

BivFlnk (11)

chromhmm.state <- "BivFlnk"

chromhmm.snps.df <- chromhmm.cpg.state.lst.df$`11_BivFlnk`
chromhmm.snps.df <- left_join(chromhmm.snps.df, epigenome.blood.map.df[, .(EID, Salas)], by = c(eid = "EID"))

blood.cell.types.of.interest <- chromhmm.snps.df$Salas %>%
    unique()
blood.cell.types.of.interest <- blood.cell.types.of.interest[blood.cell.types.of.interest %in% cell.types.of.interest]

ggvenn.lst <- lapply(blood.cell.types.of.interest, GetVennDiagram, chromhmm.snps.df = chromhmm.snps.df,
    dex.blood.types.snps.df = dex.blood.types.cpgs.df, veh.blood.types.snps.df = veh.blood.types.cpgs.df,
    chromhmm.state = chromhmm.state)

ggvenn.lst[[1]]

EnhBiv (12)

chromhmm.state <- "EnhBiv"

chromhmm.snps.df <- chromhmm.cpg.state.lst.df$`12_EnhBiv`
chromhmm.snps.df <- left_join(chromhmm.snps.df, epigenome.blood.map.df[, .(EID, Salas)], by = c(eid = "EID"))

blood.cell.types.of.interest <- chromhmm.snps.df$Salas %>%
    unique()
blood.cell.types.of.interest <- blood.cell.types.of.interest[blood.cell.types.of.interest %in% cell.types.of.interest]

ggvenn.lst <- lapply(blood.cell.types.of.interest, GetVennDiagram, chromhmm.snps.df = chromhmm.snps.df,
    dex.blood.types.snps.df = dex.blood.types.cpgs.df, veh.blood.types.snps.df = veh.blood.types.cpgs.df,
    chromhmm.state = chromhmm.state)

grid.arrange(arrangeGrob(ggvenn.lst[[1]], ggvenn.lst[[2]], ncol = 2))

ReprPC (13)

chromhmm.state <- "ReprPC"

chromhmm.snps.df <- chromhmm.cpg.state.lst.df$`13_ReprPC`
chromhmm.snps.df <- left_join(chromhmm.snps.df, epigenome.blood.map.df[, .(EID, Salas)], by = c(eid = "EID"))

blood.cell.types.of.interest <- chromhmm.snps.df$Salas %>%
    unique()
blood.cell.types.of.interest <- blood.cell.types.of.interest[blood.cell.types.of.interest %in% cell.types.of.interest]

ggvenn.lst <- lapply(blood.cell.types.of.interest, GetVennDiagram, chromhmm.snps.df = chromhmm.snps.df,
    dex.blood.types.snps.df = dex.blood.types.cpgs.df, veh.blood.types.snps.df = veh.blood.types.cpgs.df,
    chromhmm.state = chromhmm.state)

grid.arrange(arrangeGrob(ggvenn.lst[[1]], ggvenn.lst[[2]], ncol = 2))

grid.arrange(arrangeGrob(ggvenn.lst[[3]], ggvenn.lst[[4]], ncol = 2))

grid.arrange(arrangeGrob(ggvenn.lst[[5]], ncol = 1))

ReprPCWk (14)

chromhmm.state <- "ReprPCWk"

chromhmm.snps.df <- chromhmm.cpg.state.lst.df$`14_ReprPCWk`
chromhmm.snps.df <- left_join(chromhmm.snps.df, epigenome.blood.map.df[, .(EID, Salas)], by = c(eid = "EID"))

blood.cell.types.of.interest <- chromhmm.snps.df$Salas %>%
    unique()
blood.cell.types.of.interest <- blood.cell.types.of.interest[blood.cell.types.of.interest %in% cell.types.of.interest]

ggvenn.lst <- lapply(blood.cell.types.of.interest, GetVennDiagram, chromhmm.snps.df = chromhmm.snps.df,
    dex.blood.types.snps.df = dex.blood.types.cpgs.df, veh.blood.types.snps.df = veh.blood.types.cpgs.df,
    chromhmm.state = chromhmm.state)

grid.arrange(arrangeGrob(ggvenn.lst[[1]], ggvenn.lst[[2]], ncol = 2))

grid.arrange(arrangeGrob(ggvenn.lst[[3]], ggvenn.lst[[4]], ncol = 2))

grid.arrange(arrangeGrob(ggvenn.lst[[5]], ncol = 1))

All states

###### Overlap between two cell type-specific analysis

chromhmm.state <- "all significant states"

chromhmm.cpgs.df <- chromhmm.cpg.state.lst.df %>%
    bind_rows()
chromhmm.cpgs.df <- left_join(chromhmm.cpgs.df, epigenome.blood.map.df[, .(EID, Salas)], by = c(eid = "EID"))

blood.cell.types.of.interest <- c("Bmem+Bnv", "CD4mem", "CD4nv", "CD8mem", "Neu")
chromhmm.state.of.interest <- c("1_TssA", "2_TssAFlnk", "5_TxWk", "6_EnhG", "7_Enh", "11_BivFlnk", "12_EnhBiv",
    "14_ReprPC", "14_ReprPCWk")

ggvenn.lst <- lapply(blood.cell.types.of.interest, GetVennDiagram, chromhmm.snps.df = chromhmm.cpgs.df[state %in%
    chromhmm.state.of.interest, ], dex.blood.types.snps.df = dex.blood.types.cpgs.df, veh.blood.types.snps.df = veh.blood.types.cpgs.df,
    chromhmm.state = chromhmm.state)

grid.arrange(arrangeGrob(ggvenn.lst[[1]], ggvenn.lst[[2]], ncol = 2))

grid.arrange(arrangeGrob(ggvenn.lst[[3]], ggvenn.lst[[4]], ncol = 2))

grid.arrange(arrangeGrob(ggvenn.lst[[5]], ncol = 1))

DNAm level after dex

B-cells

grid.arrange(arrangeGrob(ggvenn.lst[[1]], barplt.lst[[1]], ncol = 2))

No base effect

grid.arrange(arrangeGrob(plt.res$no_base$plt.meqtl, plt.res$no_base$plt.eqtl, ncol = 2))

grid.arrange(arrangeGrob(plt.res$no_base$plt.eqtm, plt.res$no_base$plt.bcc.dnam, ncol = 2))

With base effect

grid.arrange(arrangeGrob(plt.res$with_base$plt.meqtl, plt.res$with_base$plt.eqtl, ncol = 2))

grid.arrange(arrangeGrob(plt.res$with_base$plt.eqtm, plt.res$with_base$plt.bcc.dnam, ncol = 2))

CD4mem

grid.arrange(arrangeGrob(ggvenn.lst[[2]], barplt.lst[[2]], ncol = 2))

No base effect

grid.arrange(arrangeGrob(plt.res$no_base$plt.meqtl, plt.res$no_base$plt.eqtl, ncol = 2))

grid.arrange(arrangeGrob(plt.res$no_base$plt.eqtm, plt.res$no_base$plt.bcc.dnam, ncol = 2))

With base effect

grid.arrange(arrangeGrob(plt.res$with_base$plt.meqtl, plt.res$with_base$plt.eqtl, ncol = 2))

grid.arrange(arrangeGrob(plt.res$with_base$plt.eqtm, plt.res$with_base$plt.bcc.dnam, ncol = 2))

CD4nv

grid.arrange(arrangeGrob(ggvenn.lst[[3]], barplt.lst[[3]], ncol = 2))

No base effect

grid.arrange(arrangeGrob(plt.res$no_base$plt.meqtl, plt.res$no_base$plt.eqtl, ncol = 2))

grid.arrange(arrangeGrob(plt.res$no_base$plt.eqtm, plt.res$no_base$plt.bcc.dnam, ncol = 2))

With base effect

grid.arrange(arrangeGrob(plt.res$with_base$plt.meqtl, plt.res$with_base$plt.eqtl, ncol = 2))

grid.arrange(arrangeGrob(plt.res$with_base$plt.eqtm, plt.res$with_base$plt.bcc.dnam, ncol = 2))

CD8mem

grid.arrange(arrangeGrob(ggvenn.lst[[4]], barplt.lst[[4]], ncol = 2))

No base effect

grid.arrange(arrangeGrob(plt.res$no_base$plt.meqtl, plt.res$no_base$plt.eqtl, ncol = 2))

grid.arrange(arrangeGrob(plt.res$no_base$plt.eqtm, plt.res$no_base$plt.bcc.dnam, ncol = 2))

With base effect

grid.arrange(arrangeGrob(plt.res$with_base$plt.meqtl, plt.res$with_base$plt.eqtl, ncol = 2))

grid.arrange(arrangeGrob(plt.res$with_base$plt.eqtm, plt.res$with_base$plt.bcc.dnam, ncol = 2))

Neu

grid.arrange(arrangeGrob(ggvenn.lst[[5]], barplt.lst[[5]], ncol = 2))

No base effect

grid.arrange(arrangeGrob(plt.res$no_base$plt.meqtl, plt.res$no_base$plt.eqtl, ncol = 2))

grid.arrange(arrangeGrob(plt.res$no_base$plt.eqtm, plt.res$no_base$plt.bcc.dnam, ncol = 2))

With base effect

grid.arrange(arrangeGrob(plt.res$with_base$plt.meqtl, plt.res$with_base$plt.eqtl, ncol = 2))

grid.arrange(arrangeGrob(plt.res$with_base$plt.eqtm, plt.res$with_base$plt.bcc.dnam, ncol = 2))